/**
 * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
 */
package com.jeeplus.modules.tms.entity;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.List;
import com.google.common.collect.Lists;

import com.jeeplus.core.persistence.DataEntity;
import com.jeeplus.common.utils.excel.annotation.ExcelField;
import com.jeeplus.modules.infor.entity.Settlement;
import com.jeeplus.modules.infor.entity.Start;

/**
 * 委托单Entity
 * @author 李超辉
 * @version 2017-12-11
 */
public class Planning extends DataEntity<Planning> {
	
	private static final long serialVersionUID = 1L;
	private String shipmentNumbers;		// 装运单号
	private Date date;		// 下单日期
	private Date deliveryTime;		// 要求发货时间
	private String unitName;		// 收货单位名称
	private String unitConfirmor;		// 收货单位确认人
	private String phone;		// 确认人电话
	private String site;		// 收货详细地址
	private String arriveProvince;		// 到站省
	private String arriveCity;		// 到站市
	private Settlement arrive;		// 到站地（结算）
	private String distance;		// 合同里程
	private String transitLines;		// 运输线路
	private String entrustNumber;		// 委托单号
	private String projectName;		// 项目名称
	private String planStatus;		// 计划状态
	private String status;		// 委托单状态
	private String transportMode;		// 运输方式
	private String clearingMode;		// 结算方式
	private String clearingType;		// 结算类型
	private Start contractDistance;		// 起运地
	private Date arrivalTime;		// 要求到货时间
	private String characteristic;		// 特点
	private  String type;    //订单类型
	private String workType ;  //作业类型
	private double weight;     //总重量
	private String width;   //结算吨位区间
	private String khyq;//客户要求
	private String jftj;//计费条件

	public String getJftj() {
		return jftj;
	}

	public void setJftj(String jftj) {
		this.jftj = jftj;
	}

	public String getKhyq() {
		return khyq;
	}

	public void setKhyq(String khyq) {
		this.khyq = khyq;
	}

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}
	private List<Informations> informationsList = Lists.newArrayList();		// 子表列表
	
	public Planning() {
		super();
	}

	public Planning(String id){
		super(id);
	}

	public double getWeight() {
		return weight;
	}

	public void setWeight(double weight) {
		this.weight = weight;
	}

	public String getWidth() {
		return width;
	}

	public void setWidth(String width) {
		this.width = width;
	}

	@ExcelField(title="装运单号", align=2, sort=1)
	public String getShipmentNumbers() {
		return shipmentNumbers;
	}

	public void setShipmentNumbers(String shipmentNumbers) {
		this.shipmentNumbers = shipmentNumbers;
	}

	public String getWorkType() {
		return workType;
	}

	public void setWorkType(String workType) {
		this.workType = workType;
	}

	public Settlement getArrive() {
		return arrive;
	}

	public void setArrive(Settlement arrive) {
		this.arrive = arrive;
	}

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="下单日期", align=2, sort=2)
	public Date getDate() {
		return date;
	}

	public void setDate(Date date) {
		this.date = date;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="要求发货时间", align=2, sort=3)
	public Date getDeliveryTime() {
		return deliveryTime;
	}

	public void setDeliveryTime(Date deliveryTime) {
		this.deliveryTime = deliveryTime;
	}
	
	@ExcelField(title="收货单位名称", align=2, sort=4)
	public String getUnitName() {
		return unitName;
	}

	public void setUnitName(String unitName) {
		this.unitName = unitName;
	}
	
	@ExcelField(title="收货单位确认人", align=2, sort=5)
	public String getUnitConfirmor() {
		return unitConfirmor;
	}

	public void setUnitConfirmor(String unitConfirmor) {
		this.unitConfirmor = unitConfirmor;
	}
	
	@ExcelField(title="确认人电话", align=2, sort=6)
	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}
	
	@ExcelField(title="收货详细地址", align=2, sort=7)
	public String getSite() {
		return site;
	}

	public void setSite(String site) {
		this.site = site;
	}
	
	@ExcelField(title="到站省", align=2, sort=8)
	public String getArriveProvince() {
		return arriveProvince;
	}

	public void setArriveProvince(String arriveProvince) {
		this.arriveProvince = arriveProvince;
	}
	
	@ExcelField(title="到站地城市", align=2, sort=9)
	public String getArriveCity() {
		return arriveCity;
	}

	public void setArriveCity(String arriveCity) {
		this.arriveCity = arriveCity;
	}
	
	@ExcelField(title="合同里程", align=2, sort=10)
	public String getDistance() {
		return distance;
	}

	public void setDistance(String distance) {
		this.distance = distance;
	}
	
	@ExcelField(title="运输线路", align=2, sort=11)
	public String getTransitLines() {
		return transitLines;
	}

	public void setTransitLines(String transitLines) {
		this.transitLines = transitLines;
	}
	
	@ExcelField(title="委托单号", align=2, sort=12)
	public String getEntrustNumber() {
		return entrustNumber;
	}

	public void setEntrustNumber(String entrustNumber) {
		this.entrustNumber = entrustNumber;
	}
	
	@ExcelField(title="项目名称", align=2, sort=13)
	public String getProjectName() {
		return projectName;
	}

	public void setProjectName(String projectName) {
		this.projectName = projectName;
	}
	
	@ExcelField(title="计划状态", align=2, sort=14)
	public String getPlanStatus() {
		return planStatus;
	}

	public void setPlanStatus(String planStatus) {
		this.planStatus = planStatus;
	}
	
	@ExcelField(title="委托单状态", align=2, sort=15)
	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}
	
	@ExcelField(title="运输方式", align=2, sort=16)
	public String getTransportMode() {
		return transportMode;
	}

	public void setTransportMode(String transportMode) {
		this.transportMode = transportMode;
	}
	
	@ExcelField(title="结算方式", align=2, sort=17)
	public String getClearingMode() {
		return clearingMode;
	}

	public void setClearingMode(String clearingMode) {
		this.clearingMode = clearingMode;
	}
	
	@ExcelField(title="结算类型", align=2, sort=18)
	public String getClearingType() {
		return clearingType;
	}

	public void setClearingType(String clearingType) {
		this.clearingType = clearingType;
	}
	
	@ExcelField(title="合同运距", align=2, sort=19)
	public Start getContractDistance() {
		return contractDistance;
	}

	public void setContractDistance(Start contractDistance) {
		this.contractDistance = contractDistance;
	}

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="要求到货时间", align=2, sort=20)
	public Date getArrivalTime() {
		return arrivalTime;
	}

	public void setArrivalTime(Date arrivalTime) {
		this.arrivalTime = arrivalTime;
	}
	
	@ExcelField(title="特点", align=2, sort=21)
	public String getCharacteristic() {
		return characteristic;
	}

	public void setCharacteristic(String characteristic) {
		this.characteristic = characteristic;
	}
	
	public List<Informations> getInformationsList() {
		return informationsList;
	}

	public void setInformationsList(List<Informations> informationsList) {
		this.informationsList = informationsList;
	}
}